#pragma once

#include <string>
#include <boost/shared_ptr.hpp>
#include <boost/thread.hpp>

class CLog
{
  typedef boost::shared_ptr<CLog> log_ptr;
protected:
  CLog(void) {}
  CLog(CLog& log) {}
  CLog& operator= (const CLog& rhs) {}

public:
  ~CLog(void) {}

public:
  static log_ptr GetInstance();
  void AddLog(const std::string& strLog);

private:
  static log_ptr m_pInstance;
  static boost::mutex m_lock;
};
